With the popularity and abundance of mobile computing devices with camera functionality ever increasing, video conferencing and video chat are becoming important services to be provided by the mobile computing platform. However with this abundance of different mobile computing devices with varied processor, camera, and display capabilities, conventional video conferencing and video chat applications are not easily customizable to improve the user experience. For example, one type of device may be able to display a higher quality or resolution video, while another may not. A higher quality or resolution video encoded and transmitted to a device that is not capable of supporting that quality or resolution can present a number of disadvantages to either the device itself and/or to the network that is supporting the devices. What is needed is an improved mechanism for encoding video for video chat or video conferencing.